//------------------------------------------------------------------------------
// 파 일 명 : printf.c
// 프로젝트 : ez-jtag
// 설    명 : printf 처리 
// 작 성 자 : 유영창(frog@falinux.com)
// 작 성 일 : 2007년 5월 6일
// 수 정 일 : 
// 수 정 일 : 
// 주    의 : 
// 라이센스 : BSD
//------------------------------------------------------------------------------

#include <typedef.h>
#include <stdio.h>
#include <string.h>

#include <uart.h>

//------------------------------------------------------------------------------
// 설명 : 한문자를 출력한다. 
// 매계 : 없음 
// 반환 : 없음 
// 주의 : 캐리지 리턴의 변화를 처리한다. 
//------------------------------------------------------------------------------
int putc(char c)
{
	if(c == '\n') uart_putc('\r');
	uart_putc( c );
			
	return 1;
}

//------------------------------------------------------------------------------
// 설명 : 문자열을 출력한다. 
// 매계 : 없음 
// 반환 : 없음 
// 주의 : 캐리지 리턴의 변화를 처리한다. 
//------------------------------------------------------------------------------
int puts( char *str, int size )
{
	int	lp ;

	for (lp=0;lp<size;lp++) putc(str[lp]);

	return 1;
}

//------------------------------------------------------------------------------
// 설명 : 포맷형 문자열을 출력한다. 
// 매계 : 없음 
// 반환 : 없음 
// 주의 : 없음 
//------------------------------------------------------------------------------
#ifndef NAL_RELEASE
int printf(const char *fmt, ...)
{
	char buffer[1024];
	va_list ap;
	int len;

	va_start(ap, fmt);
	len = vsprintf(buffer, fmt, ap);
	va_end(ap);
  	puts(buffer, len);

	return len;
}
#else
int printf(const char *fmt, ...)
{
	return 0;
}
#endif

